<!DOCTYPE html>
<html lang="zh">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>如何开始写博客？</title>
  <link rel="stylesheet" href="./styles.css" />
</head>
<body>
<!-- 顶部导航 / 可返回主页 -->
<header class="post-header">
  <div class="container">
    <h1 class="post-title">基于硅基流动Api的JAVA工具类</h1>
    <p class="post-meta">发布于 2025‑011‑17 · 作者 雷诺哈特</p>
    <nav><a href="./index.html" class="back-home">← 返回主页</a></nav>
  </div>
</header>

<!-- 正文 -->
<main class="container">
  <article class="post-content">
    <h2>1. 搜索硅基流动开发平台进行注册</h2>
    <p>可点击我的邀请链接进行，可获得奖励 https://cloud.siliconflow.cn/i/UlBaeFPv</p>

    <h2>2. 必要的依赖</h2>
    <p>
      工具类所需的导入
    </p>

    <pre><code>
      import org.json.JSONArray;
      import org.json.JSONObject;
      import java.io.IOException;
      import java.net.URI;
      import java.net.http.HttpClient;
      import java.net.http.HttpRequest;
      import java.net.http.HttpResponse;
      import java.time.Duration;
    </code></pre>

    <h2>3. 工具类源码</h2>
    <p>进行你想要的配置，你需要找找自己的需求.........</p>
    <pre><code>
      public class AiUtil {

    private static final String API_KEY = "你的api密钥";
    private static final String API_URL = "https://api.siliconflow.cn/v1/chat/completions";
    private static final String MODEL = "deepseek-ai/DeepSeek-V3.1-Terminus";

    调用 AI 接口返回文本
    public static String chatWithAI(String userMessage, Long userId, String doctorName) {

        String anime = null;

        } if (doctorName.endsWith("鼠鼠医生")){
            anime = "你是一个心理医生，你将扮演一个温柔的鼠鼠作为心理医生与我交流，你的每次回复不得超过70个字！";
        } else if (doctorName.endsWith("武藤医生")){
            anime = "你是一个心理医生，你将扮演法老王形态的武藤游戏作为心理医生与我交流，你的每次回复不得超过70个字！";
        } else if (doctorName.endsWith("麦医生")){
            anime = "你是一个心理医生，你将扮演活泼的三角洲行动干员麦小雯作为心理医生与我交流，你的每次回复不得超过70个字！";
        } else if (doctorName.endsWith("靓坤医生")){
            anime = "你是一个心理医生，你将扮演古惑仔里的靓坤作为心理医生与我交流，你的每次回复不得超过70个字！";
        } else if (doctorName.endsWith("浅仓医生")){
            anime = "你是一个心理医生，你将扮演偶像大师闪耀色彩的浅仓透作为心理医生与我交流，你的每次回复不得超过70个字！";
        } else if (doctorName.endsWith("樋口医生")){
            anime = "你是一个心理医生，你将扮演偶像大师闪耀色彩的樋口圆香作为心理医生与我交流，你的每次回复不得超过70个字！";
        }
        else {
            anime = "你是一个心理医生，你的每次回复不得超过70个字！";
        }



        try {
            构造 JSON 请求

            JSONObject message = new JSONObject()
                    .put("role", "user")
                    .put("content", userMessage);

            JSONObject systemaa = new JSONObject()
                    .put("role", "system")
                    .put("content", anime);

            JSONArray messages = new JSONArray().put(message).put(systemaa);

            JSONObject bodyJson = new JSONObject()
                    .put("model", MODEL)
                    .put("enable_thinking",false) 深度思考，推理模型需要开启
                    .put("messages", messages);


            // 创建 HttpClient
            HttpClient client = HttpClient.newBuilder()
                    .connectTimeout(Duration.ofSeconds(10))
                    .build();

            HttpRequest request = HttpRequest.newBuilder()
                    .uri(URI.create(API_URL))
                    .header("Content-Type", "application/json")
                    .header("Authorization", "Bearer " + API_KEY)
                    .POST(HttpRequest.BodyPublishers.ofString(bodyJson.toString()))
                    .build();

            // 发送请求
            HttpResponse<> response = client.send(request, HttpResponse.BodyHandlers.ofString());

            if (response.statusCode() != 200) {
                return "❌ AI接口调用失败：" + response.body();
            }

            // 解析响应 JSON
            JSONObject resJson = new JSONObject(response.body());
            JSONArray choices = resJson.optJSONArray("choices");

            if (choices != null && choices.length() > 0) {
                JSONObject messageObj = choices.getJSONObject(0).getJSONObject("message");
                return messageObj.optString("content", "⚠️ 未获取到AI回复内容");
            }

            return "⚠️ AI未返回内容";

        } catch (IOException | InterruptedException e) {
            return "❌ 调用异常：" + e.getMessage();
        }
    }
}

    </code></pre>

  </article>
</main>

<!-- 页脚 -->
<footer>
  <div class="container">
    <p>© 2025 雷诺哈特 的博客 | 262476952@qq.com</p>
  </div>
</footer>
</body>
</html>
